const Mock = require('mockjs'); // 假数据

module.exports = function (app) {
    const prefix = '/api/finance/';

    /*
        {
            "title": '财务账单-充值记录(广告主使用的表格)',
            "url":'/api/finance/rechargelist_for_user',
            "method": 'get',
            "params":{
                'date': '', // 日期 yyyy-mm
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'code': '', // 充值编号
                        'arrival_date': '', // 到账日期 yyyy-mm
                        'recharge_type': 1, // 充值方式 1银行转账2在线充值
                        'recharge_account': '', // 付款账号
                        'recharge_name': '', // 付款人
                        // 'recharge_money': '', // 充值金额
                        'arrival_money': '', // 充值金额 ------- 到账金额 liuyp 2019-12-5 14:49:36
                        'state': 0, // 状态 0全部1成功2失败
                    }],
                    sum:{
                        'recharge_money': '', // 充值金额
                    }
                    // 不分页
                }
            }
        }
        {
            "title": '财务账单-充值记录(运营使用的表格)',
            "url":'/api/finance/rechargelist_for_oper',
            "method": 'get',
            "params":{
                'start_date': '', // 开始日期 yyyy-mm-dd
                'end_date': '', // 结束日期 yyyy-mm-dd
                'ader_id': '', // 广告主ID
                'state': 0, // 状态 0全部1成功2失败
                'recharge_type': 1, // 充值方式 1银行转账2在线充值
                'page': 1, // 分页
                'page_count': 30, // 分页条数
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'code': '', // 充值编号
                        'ader_name': '', // 广告主
                        'arrival_date': '', // 到账日期 yyyy-mm
                        'recharge_type': 1, // 充值方式 1银行转账2在线充值
                        'arrival_money': '', // 到账金额
                        'state': 0, // 状态 0全部1成功2失败
                    }],
                    sum:{
                        'arrival_money': '', // 到账金额
                    },
                    row_count: 100 // 分页
                }
            }
        }
        {
            "title": '财务账单-充值记录(财务使用的表格)',
            "url":'/api/finance/rechargelist_for_fina',
            "method": 'get',
            "params":{
                'start_date': '', // 开始日期 yyyy-mm-dd
                'end_date': '', // 结束日期 yyyy-mm-dd
                key_name: '', // 收款人付款人广告主
                'state': 0, // 状态 0全部1成功2失败
                'recharge_type': 1, // 充值方式 1银行转账2在线充值
                'page': 1, // 分页
                'page_count': 30, // 分页条数
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'code': '', // 充值编号
                        'ader_name': '', // 广告主
                        'arrival_date': '', // 到账日期 yyyy-mm-dd
                        'recharge_type': 1, // 充值方式 1银行转账2在线充值
                        'recharge_account': '', // 付款账号
                        'recharge_name': '', // 付款人
                        'arrival_account': '', // 收款账号
                        'arrival_name': '', // 收款人
                        'arrival_money': '', // 到账金额
                        'remark': '', // 摘要或用途
                        'state': 0, // 状态 0全部1成功2失败
                    }],
                    sum:{
                        'arrival_money': '', // 到账金额
                    },
                    row_count: 100 // 分页
                }
            }
        }
    */
    const fun = (req, res) => {
        const code = 200;
        const msg = '';
        const data = Mock.mock({ // 生成
            'list|20': [{
                'code': '@increment(100)',
                'ader_name': '@cname',
                'arrival_date': '@datetime',
                'recharge_type': 1,
                'arrival_money': '123123',
                'state': 0
            }],
            'row_count': 200,
            'sum': {
                'arrival_money': '99999'
            }
        });
        const time = +(new Date);
        const result = {code, data, msg, time};
        return res.end(JSON.stringify(result));
    };
    // API::各种任务
    app.get(prefix + 'rechargelist_for_user', fun);
    app.get(prefix + 'rechargelist_for_oper', fun);
    app.get(prefix + 'rechargelist_for_fina', fun);

    /*
        {
            "title": '财务账单-消耗记录(广告主使用的表格)',
            "url":'/api/finance/costlist_for_user',
            "method": 'get',
            "params":{
                'date': '', // 日期 yyyy-mm
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'date': '', // 消耗日期 yyyy-mm
                        'cost_pre': '', // 预估消耗金额 空值代表没有
                        'cost_real': '', // 实际消耗金额 空值代表没有
                        'state': '', // 状态 1预估2封账
                    }],
                    sum:{
                        'cost_pre': '', // 汇总预估消耗金额
                        'cost_real': '', // 汇总实际消耗金额
                    }
                    // 不分页
                }
            }
        }
        {
            "title": '财务账单-消耗记录(运营使用的表格)',
            "url":'/api/finance/costlist_for_oper',
            "method": 'get',
            "params":{
                'start_date': '', // 开始日期 yyyy-mm-dd
                'end_date': '', // 结束日期 yyyy-mm-dd
                'ader_id': '', // 广告主ID
                'state': 0, // 状态 1预估2封账
                'page': 1, // 分页
                'page_count': 30, // 分页条数
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'date': '', // 消耗日期 yyyy-mm
                        'cost_pre': '', // 预估消耗金额 空值代表没有
                        'cost_real': '', // 实际消耗金额 空值代表没有
                        'state': '', // 状态 1预估2封账
                    }],
                    sum:{
                        'cost_pre': '', // 汇总预估消耗金额
                        'cost_real': '', // 汇总实际消耗金额
                    },
                    row_count: 100 // 分页
                }
            }
        }
        {
            "title": '财务账单-消耗记录(财务使用的表格)',
            "url":'/api/finance/costlist_for_fina',
            "method": 'get',
            "params":{
                'start_date': '', // 开始日期 yyyy-mm-dd
                'end_date': '', // 结束日期 yyyy-mm-dd
                'ader_id': '', // 广告主ID
                'buis_id': '', // 业务ID
                'state': 0, // 状态 1预估2封账
                'page': 1, // 分页
                'page_count': 30, // 分页条数
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'date': '', // 消耗日期 yyyy-mm
                        'ader_name': '', // 广告主
                        'user_name': '', // 用户名
                        'buis_name': '', // 业务名称
                        'cost_pre': '', // 预估消耗金额 空值代表没有
                        'cost_real': '', // 实际消耗金额 空值代表没有
                        'state': '', // 状态 1预估2封账
                    }],
                    sum:{
                        'cost_pre': '', // 汇总预估消耗金额
                        'cost_real': '', // 汇总实际消耗金额
                    },
                    row_count: 100 // 分页
                }
            }
        }
    */
    const fun2 = (req, res) => {
        const code = 200;
        const msg = '';
        const data = Mock.mock({ // 生成
            'list|20': [{
                'code': '@increment(100)',
                'date': '@datetime',
                'ader_name': '@cname',
                'buis_name': '@cname',
                'cost_pre': '51', // 汇总预估消耗金额
                'cost_real': '52', // 汇总实际消耗金额
                'state': 0
            }],
            'row_count': 200,
            'sum': {
                'cost_pre': '9999', // 汇总预估消耗金额
                'cost_real': '9999' // 汇总实际消耗金额
            }
        });
        const time = +(new Date);
        const result = {code, data, msg, time};
        return res.end(JSON.stringify(result));
    };
    // API::各种任务
    app.get(prefix + 'costlist_for_user', fun2);
    app.get(prefix + 'costlist_for_oper', fun2);
    app.get(prefix + 'costlist_for_fina', fun2);

    /*
       {
            "title": '财务账单-账户余额(广告主查自己的)',
            "url":'/api/finance/accountlist_for_user',
            "method": 'get',
            "params":{
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    'balance': '', // 账户余额
                }
            }
        }
        {
            "title": '财务账单-账户余额(运营查询所有广告主)',
            "url":'/api/finance/accountlist_for_oper',
            "method": 'get',
            "params":{
                'ader_id': '', // 广告主ID
                'page': 1, // 分页
                'page_count': 30, // 分页条数
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'ader_name': '', // 广告主
                        'user_name': '', // 用户名
                        'balance': '', // 账户余额
                    }],
                    sum:{
                        'balance': '', // 账户余额
                    },
                    row_count: 100 // 分页
                }
            }
        }
        {
            "title": '财务账单-账户余额(财务查询所有广告主)',
            "url":'/api/finance/accountlist_for_fina',
            "method": 'get',
            "params":{
                'ader_id': '', // 广告主ID
                'company_id': '', // 公司ID
                'page': 1, // 分页
                'page_count': 30, // 分页条数
            },
            "response":{
                "code": "200",
                "msg": "",
                "data":{
                    list:[{
                        'ader_name': '', // 广告主
                        'user_name': '', // 用户名
                        'balance': '', // 账户余额
                    }],
                    sum:{
                        'balance': '', // 账户余额
                    },
                    row_count: 100 // 分页
                }
            }
        }
    */
    app.get(prefix + 'accountlist_for_user', (req, res) => {
        const code = 200;
        const msg = '';
        const data = {
            'balance': '9999'
        };
        const time = +(new Date);
        const result = {code, data, msg, time};
        return res.end(JSON.stringify(result));
    });
    const fun3 = (req, res) => {
        const code = 200;
        const msg = '';
        const data = Mock.mock({
            'list|20': [{
                'ader_name': '@cname',
                'user_name': '@cname',
                'balance': 999
            }],
            'row_count': 200,
            'sum': {
                'balance': '9999'
            }
        });
        const time = +(new Date);
        const result = {code, data, msg, time};
        return res.end(JSON.stringify(result));
    };
    // API::各种任务
    app.get(prefix + 'accountlist_for_oper', fun3);
    app.get(prefix + 'accountlist_for_fina', fun3);

};
